home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / grabtext.zip / GRABTEXT.PDA < prev    next >
Text File  |  1990-08-26  |  7KB  |  160 lines

  1. GRABTEXT PIRATES TOOLCHEST  BILL BUCKELS Registration 10.00                    
  2. GRABTEXT BUCKELS PIRATES CEE
  3.  
  4. Attention  all IBM PC USERS who do not "LOOK a WORK HORSE in  
  5. the MOUTH." 
  6.  
  7. On  the May Long Weekend I did not make it to the beach  and 
  8. instead  created a Toolbox of reasonably useful text  screen 
  9. manipulation programs. It is now nearing the end of  august, 
  10. sort of the wrong end of the summer, and I have found my way 
  11. back  to this particular hodgepodge and I have  revised  and 
  12. updated the original selection to support a fairly effective 
  13. run length encoding and Text Screen compression scheme  that 
  14. typically  compresses a 4k textscreen to less than half  its 
  15. size in a Binary File which I have dubbed a PTX file,  using 
  16. a  modified  PCX  (ZSOFT) algorithm  and  providing  a  128K 
  17. descriptive header.
  18.  
  19. Program Synopsis:
  20.  
  21. GRABTEXT EXE  -   Memory Resident Screen Capture Utility
  22. TEXTVU   EXE  -   Screen Viewer and Batch File Driver   
  23. BSV2TXT  EXE  -   BSAVED to Ascii File Conversion Utility 
  24. PTXMAKE  EXE  -   BSAVED Screen Compression Utility
  25. BSAVEINC EXE  -   Programmers Tool- Screen Compression
  26.  
  27. Demo Programs -
  28.  
  29. RUNFIRST EXE  - C language source also included  
  30. BATCH    EXE  - C language source also included   
  31. SDNLOGON EXE  - C language source also included
  32. TEXTSHOW BAT  - Batch File
  33. BLOADER  BAS  - BASIC
  34.  
  35. The  Camera Utility and the Extended Batch File  Interpreter 
  36. Are Targeted At People like sysops who use TEXT GRAPHICS  on  
  37. the   IBM  PC and who typically use Editors   like   THEDRAW  
  38. to  create   them,  and this was my original  intended  User 
  39. Group (although I really hadn't thought much about marketing 
  40. the effort). But I recently had need of a tiny program  that 
  41. would  display  a text graphic in very  little  disk  space. 
  42. Rather  than  Hard Code the thing, I set about to  Create  a 
  43. Toolbox  of Utilities based on the BSAVED Text Screen  Image 
  44. Format  and Augmented and changed my original work  in  this 
  45. area to the point where C language programmers Might Benefit 
  46. from  this  ToolBox. The use of the external  file  was  too 
  47. clumsy and too subject to the "GONE FISHING" (missing  file) 
  48. syndrome,  so  my  conclusion  to  my  programmer's  toolkit 
  49. provides a utility for the embedding of BSAVED TEXT  SCREENS 
  50. in  an encoded array which can then be embedded  within  the 
  51. program itself. 
  52.  
  53.  
  54. I  am  including all the C language Source  Code  with   the 
  55. EXE's. We have some reasonably informative stuff here   like  
  56. A  SCREEN   CAPTURE   utility  that  TERMINATES  and   STAYS  
  57. RESIDENT,and demonstration programs that Use embedded  sound 
  58. as  well  as embedded encoded Text Screens  .(However,   the 
  59. source is low  level procedural stuff  and  Pretty  hardware 
  60. dependent, and a world away from object oriented or Resource 
  61. Forks and other fine cooking utensils.)
  62.  
  63. With  the exception of the GRABBER (GRABTEXT.EXE)  which  is 
  64. written  in medium memory model MIX POWER C,  and  the  DEMO
  65. called RUNFIRST.EXE which is written  in  MIX  POWER C Small
  66. model, the  work  was done  in Aztec C  small   model  which
  67. produces  extremely  tiny exe's (it  converts all the C code
  68. to  assembler  prior  to  compiling  and  uses the assembler
  69. to  assemble  the  code).
  70.  
  71. Other  compilers will need to substitute the AZTEC  routines 
  72. with their own, and inline assembler is used.
  73.  
  74. A.) GRABTEXT.EXE Version 1.0 screen Grabber Utility
  75.  
  76. A  memory resident frame grabber for text  screens.  CAPTURE 
  77. ANY  TEXT  SCREEN IN ANY PROGRAM  THAT USES 80  column  mode 
  78. then  inhale the TROPHY screen into an EDITOR  like  THEDRAW  
  79. and  HAVE  YOUR WAY WITH IT!!! There's  lots  of  good  text 
  80. graphics  lyin'  around just waiting  to  be   grabbed.  The 
  81. PRINT SCREEN KEY is used as as the "CAMERA SHUTTER" . IMAGES 
  82. are stored in BSAVED image format in sequential order in the 
  83. current directory starting with "IMAGE000.BSV". These  Files 
  84. may  be directly inhaled into THEDRAW and converted to  .ANS 
  85. there or bloaded from BASIC. 25x80 column text mode only  is 
  86. supported.  I have included a sample GWBASIC PROGRAM  called 
  87. BLOADER.BAS  to demonstrate the loading of these  SCREENS in
  88. BASIC.
  89.  
  90. B.) TEXTVU.EXE  Text Screen Viewer and Extended Batch Manager
  91.  
  92. FORMATS  supported  are .BSV, .ANS, .TXT, and PTX.  Loads  a 
  93. text  screen  in  those  formats  and returns to DOS with an
  94. ERRORLEVEL at a KEY PRESS.
  95.  
  96. One possible use of this utility could be as the driver of a 
  97. HUGE  GALLOPING PROGRAM  in the  form of a BATCH  FILE  with 
  98. DECISIONS. Your fine text screens can be displayed until the 
  99. appropriate keypress which can then be used to branch   your  
  100. BATCH   FILE. EASY  WAY to write a text adventure   at   the  
  101. DOS  prompt   or  a DOORS program  using  .ANS  files.  (THE  
  102. DIRECT  SCREEN WRITES REQUIRED BY THE .BSV  DON'T   REDIRECT 
  103. THROUGH BBS PROGRAMS THAT I HAVE TESTED THIS UTILITY  WITH.) 
  104. (ANSI SYS is required for the display of the  .ANS files.)
  105.  
  106. I  have  included a demo program called  TEXTSHOW.BAT  which 
  107. exemplifies  the use of TEXTVU as a BATCH  FILE  interpreter 
  108. using  the PTX compressed format. (The other  formats  would 
  109. have worked as well).
  110.  
  111. C.) BSV2TXT.EXE  Bsaved to Ascii Coversion Utility
  112.  
  113. If   you  want to Convert these fine grabs into a   straight  
  114. ascii  text file, the utility BSV2TXT will create a  version 
  115. of  your grab that a good text editor or word processor  can 
  116. use...
  117.  
  118. BSV2TXT   converts  bsaved  text  screens  to   text   files  
  119. stripping off the color attributes and truncating the  white 
  120. space  so that the file size is often  drastically  reduced. 
  121. USAGE is "BSV2TXT [infile] [outfile]".
  122.  
  123. D. PTXMAKE.EXE- BSAVED compressed format conversion Utility
  124.  
  125. The  USAGE  is  "PTXMAKE  [filename]".  This  utility   will 
  126. compress most screens so that they take lessthan a sector of
  127. DISC  space on your hard disk (2048 bytes under  DOS  4.01). 
  128. You  can't  get any better than 1 sector per file.  The  raw 
  129. BSAVED  file uses double that. On a 1.2 meg floppy there  is 
  130. room for improvement since each sector is only 512k, but all 
  131. things considered, this is the "WAY TO GO" versus the BSAVED 
  132. image format.
  133.  
  134. D. BSAVEINC.EXE- BSAVED compressed format conversion Utility
  135.  
  136. The USAGE is "BSAVEINC [filename]".
  137.  
  138. This  one will interest programmers only, and the  Sample  C 
  139. program  Source Code will provide information  on  practical 
  140. applications for the run-length encoded embedded arrays that 
  141. this utility creates from a .BSV BSAVED IMAGE. 
  142.  
  143. E. Please Direct Registration and Correspondence to:
  144.  
  145.        Bill Buckels
  146.        982 Hector Avenue 
  147.        Winnipeg, Manitoba, Canada
  148.        R3M 2G6
  149.  
  150. One final comment- In some of my examples I do not save  and
  151. restore the stack when I slip into INLINE assembly. This  is
  152. not  good  form  and  certainly  not recommended  if you are
  153. concerned  with the state of  your  processor  on  the  next
  154. operation. Dos 4.01 is more forgiving than  earlier versions
  155. and seems to give one more lattitude,  but  a  true  true xt
  156. running dos 3.3 will freeze solid if  the registers  are not
  157. pushed prior and popped after and that includes the  use  of
  158. the exit() function on program  termination.  Frankly,  your
  159. int86 routines are much safer than inline.
  160.